﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization;
using System.ServiceModel;
using System.Text;
using System.IO;
using System.Data;

namespace AdvancedStandingAndScholarship.Web
{
    // NOTE: You can use the "Rename" command on the "Refactor" menu to change the interface name "IASASService" in both code and config file together.
    [ServiceContract]
    public interface IASASService
    {


        //expose the service so that others can see

        //# region sze
        [OperationContract]
        void DoWork(string filePath);

        [OperationContract]
        List<Student> addNewStudent(List<Student> studentList, string email);

        [OperationContract]
        List<Student> updateAndDeleteStudent1(List<Student> studentList);

        [OperationContract]
        List<KeyValuePair<string, string>> getAllSchoolWithCountry();

        [OperationContract]
        List<string> getAllSchool();

        [OperationContract]
        List<string> getAllCountry();

        [OperationContract]
        List<string> getSelectedSchool(string country);

        [OperationContract]
        List<Student> getStudentByFileID(string fileID);

        [OperationContract]
        List<Student> searchStudent(string searchCriteria, string searchSpecify);
        //#endregion

        //# region joel
        [OperationContract]
        int addNewUser(string email, string name, string user_type, string password);

        [OperationContract]
        bool SendEmail(string fromEmail, string toEmail, string subject, string body);

        [OperationContract]
        List<User> getAllUser();

        [OperationContract]
        List<User> getPendingUser();

        [OperationContract]
        List<User> updateAndDeleteUser(List<User> userList);

        [OperationContract]
        List<User> approveUser(List<User> userList);
        ////#endregion 
    }
}
